/**
**********************************************************************************************************************************************************************************************************************************
* @file:	main.c
* @author:	zinface
* @date:	2021年11月10日 14:55:56 星期三
* @brief:	测试FinalMod主程序(hello)
**********************************************************************************************************************************************************************************************************************************
**/
#include "ModBuildin.h"

#include <stdio.h>

int	main(int argc, char **argv)
{
    printf("Welcome to Final Mod!\n");

    ModStruct *hello_ms = createModStructWithMeta("./libhello.so", "hello");

    // 尝试加载 hello 模块
    if (modStructLoader(hello_ms)) {
        // 尝试加载 hello 模块的元数据
        if(modStructLoaderFinalModMeta(hello_ms)) {
            printf("%s Meta 加载成功: %s\n", hello_ms->name, hello_ms->meta->meta_descript);
        }
        // 尝试加载 hello 模块的包装数据
        if (modStructLoaderFinalModWrap(hello_ms)) {
            printf("%s Wrap 加载成功: %s\n", hello_ms->name, hello_ms->wrap->wrap_name);

            // 打印 hello 模块的包装数据: char str[] = "Hello World";
            printf("%s\n",(char*)hello_ms->wrap->wrap_data);
        }
    }

    // 卸载模块
    modStructUnloader(hello_ms);

    return 0;
}
